//
// Created by wxd on 2025/9/11.
//

#ifndef AMBIENTLIGHT_H
#define AMBIENTLIGHT_H

#include "Light.h"
#include "glm/glm.hpp"

class AmbientLight : public Light {
public:

    static std::string uAmbientColor;
    static std::string uAmbientIntensity;

    explicit AmbientLight(const glm::vec3& color = glm::vec3(1.0f),
                          const glm::vec3& intensity = glm::vec3(1.f),
                          const std::string& name = "AmbientLight")
        : Light(LightType::Ambient, color, intensity, name) {}

    // ILight 接口实现
    LightType getType() const override { return LightType::Ambient; }

    std::unique_ptr<ILight> clone() const override {
        return std::make_unique<AmbientLight>(*this);
    }
};

#endif //AMBIENTLIGHT_H
